package com.crm.service.contactManager;

import com.crm.model.entity.contactManager.Contact;
import com.crm.model.entity.contactManager.ContactErrorRecord;
import com.crm.model.entity.contactManager.ContactInformationManyPeople;
import com.crm.model.entity.contactManager.ContactInformationManyPeopleName;
import com.crm.model.qo.contactManager.ContactInformationManyPeopleQO;
import com.crm.model.qo.contactManager.ContactQO;
import com.crm.model.vo.contactManager.*;

import java.util.Date;
import java.util.List;

/**
 * 联系人管理信息
 */
public interface ContactInformationManyPeopleDbService {


    /**
     * 联系联系方式一机多用
     *
     * @param dateUnit 1本周  2 本月
     * @param type  1超管 2普通管理员 3用户
     * @param contactInformationManyPeopleQO 查询条件
     * @return
     */
    List<ContactInformationManyPeopleVO> contactInformationManyPeopleList(ContactInformationManyPeopleQO contactInformationManyPeopleQO, Integer dateUnit, int type);

    /**
     * 新增联系方式人
     * @param contactInformationManyPeople
     * @return
     */
    Boolean addContactInformationManyPeople(ContactInformationManyPeople contactInformationManyPeople);

    /**
     * 联系人名称管理信息
     * @param contactInformationManyPeopleId 联系方式一机多用id
     * @param bs 0显示未废止的  1显示全部的
     * @return
     */
    List<ContactInformationManyPeopleName> contactInformationManyPeopleNameList(String contactInformationManyPeopleId,String bs);

    /**
     * 新增联系人名称
     * @param name
     * @return
     */
    Boolean addContactInformationManyPeopleName(ContactInformationManyPeopleName name);

    /**
     * 通过id查询联系方式一用多机
     * @param contactInformationManyPeopleId 联系方式表id
     * @return
     */
    ContactInformationManyPeople selectContactInformationManyPeople(String contactInformationManyPeopleId);

    /**
     * 修改联系名称表联系人姓名
     * @param name
     * @return
     */
    Boolean updateContactInformationManyPeopleName(ContactInformationManyPeopleName name);

    /**
     * 联系方式一机多用表联系人姓名
     * @param contactInformationManyPeople
     */
    Boolean updateContactInformationManyPeople(ContactInformationManyPeople contactInformationManyPeople);

    /**
     * 通过联系方式和用户id查询联系方式是否重复
     * @param contactInformation 联系方式
     * @param accountId 用户id
     * @return
     */
    ContactInformationManyPeople selectManyPeopleByPhoneAndAccountId(String contactInformation, String accountId);
}
